<template>
  <div class="api">
    <Header @changelang="changeLanguage" bgColor="linear-gradient(90deg, #7719c7 0%, #431092 27%, #0e065d 70%, #080055 100%)"></Header>
    <!-- <div id="react-container-header"></div>
    		<div class="content">
    			<div class="jumbotron krakencolor-bg generic text-center">
    				<h1 class="text-uppercase ">API</h1>
    				<div class="container">
    					<div class="row">
    						<div class="col-sm-8 col-sm-push-2">
    							<p>了解我们的API</p>
    						</div>
    					</div>
    				</div>
    			</div>
    			<div class="generic-jumbo-angle-down text-center">
    				<div class="fa fa-angle-down"></div>
    			</div>
    			<div class="docs source-font-regular">
    				<div class="white-bg">
    					<div class="container">
    						<div class="row vmarg-btm-15 vpad-top-100">
    							<div class="col-xs-12 ">
    								<h2>WebSockets API</h2>
    								<a href="/zh-cn/websocket-api-docs">WebSockets文件</a>
    								<h2 class="text-uppercase vpad-top-20">REST API</h2>
    							</div>
    						</div>
    						<div class="row">
    							<div class="col-xs-12 col-md-4">
    								<jump-nav target="api-doc" labels="h1,h2,h3,h4" collapse="h2,h4" scroll-lock="580"></jump-nav>
    							</div>
    							<div class="col-xs-12 col-md-8" id="api-doc">
    								<h2 id="general-usage">一般使用</h2>
    								<p><strong>请注意:</strong> 所有API链接请使用此域名： <strong>api.kraken.com</strong>。</p>
    								<p>在创建请求头时您需要提供用户代理字符串，否则将无法连接到API。</p>
    								<p>QtGlobal已启用<strong>浏览器完整性检查</strong>。</p>
    								<p>如果请求头缺少用户代理或是非标准用户代理，则可能会出现错误。</p>
    								<p>如果您无法创建系统许可的标准请求，请向我们发送您正在尝试的请求的完整副本，包括您的IP地址和所有头信息。这些资料有助于我们进一步对您的问题进行审查。</p>
    								<p>公共方法可以使用GET或者POST。</p>
    								<p>私人方法请使用POST并按如下方法设置：</p>
    								<p>HTTP头：</p>
    								<pre>
    API-Key = API密钥
    API-Sign = 消息签名使用 HMAC-SHA512(URI 路径 + SHA256(nonce + POST 数据))和 64位解码的秘密API密钥
    </pre>
    								<p>POST数据：</p>
    								<pre>
    nonce = 持续增长的未签名的64位整数
    otp = 双重身份认证密码(适用于已开启双重身份认证，否则不需要)
    </pre>
    								<p>请注意：随机数一旦设定，无法重设为更低的数值。因此请确认您使用的随机数生成器不会生成比前一次数值低的数值。建议使用持续计数器或者精确到0.01秒及以上的当前时间作为您设定的随机数。
    									多次输入比之前有效随机数数值低的数(EAPI：无效随机数)可能会使您短时间内无法使用API。</p>
    								<p>请注意：有时随机数请求失序，或者NTP(网络时间协定)使您的时钟逆转，都可能导致您的随机数出现问题。如果您遇到了这类问题，可以更改您API设定页的随机数窗口。自定义的数据取决于您随机数的增量。也取决于您的连通性，您的设定最好包含3-15秒的网络延迟。</p>
    								<p>API订单里提及资产货币名称的可以使用他们的ISO注册ISO4217-A3名，若没有ISO注册，则使用其3个字母的通用名或X-ISO4217-A3码(请参阅<a href="/redirect?url=http%3A%2F%2Fwww.ifex-project.org%2F"
    									 target="_blank">http://www.ifex-project.org/)</a>。</p>
    								<p>回复是通过以下形式进行的JSON编码：</p>
    								<pre>
    error = 错误消息数组，格式为：
    &lt;char-severity code&gt;&lt;string-error category&gt;:&lt;string-error type&gt;[:&lt;string-extra info&gt;]
    严重性代码可以为E表示错误，或者为W表示警告
    result = API调用的结果(如果发生错误，可能不会显示)
    </pre>
    								<p>请注意：应小心处理表示为字符串的任何数字，因为这些数字可能会溢出标准数据类型。</p>
    								<h3 id="api-call-rate-limit">API调用速率限制</h3>
    								<p>我们有保护措施来防止滥用/DoS攻击，以及快速发出和取消订单而引起的订单薄操纵。</P>
    								<p>我们API的每个用户都有一个“调用计数器”，从0开始。</p>
    								<p> 分类账/交易历史调用计数将增加2。</p>
    								<p>发出/取消订单调用不会影响计数器。</p>
    								<p>所有其他API调用都会将计数器增加1。</p>
    								<p>用户的计数器每几秒钟减少一次，如果是计数器超出用户的最大API访问权限将被暂停15分钟。
    									通过初级验证的用户最多为15次，其计数器每3秒减少1次。
    									通过中级和专业验证的用户最多为20次；对于中级用户，计数器每2秒减少1次。专业级用户每1秒减少1次。</p>
    								<p>虽然下订单和取消订单不会增加计数器，
    									但有单独的限制来防止操纵订单薄。
    									只发出您打算填写的订单并将费率保持在1每秒通常不足以达到此限制。</p>
    								<h2 id=“public-market-data”>公开市场数据</h2>
    								<h3 id=“get-server-time”>获取服务器时间</h3>
    								<p>URL: https://api.kraken.com/0/public/Time </p>
    								<p>结果：服务器的时间</p>
    								<pre>
    unixtime = 指unix时戳
    rfc1123 = RFC 1123时间格式
    </pre>
    								<p>请注意：这有助于近似服务器和客户端之间的偏差时间。</p>
    								<h3 id=“get-asset-info”>获取资产信息</h3>
    								<p>URL: https://api.kraken.com/0/public/Assets </p>
    								<p>输入: </p>
    								<pre>
    info = 要检索的信息(可选)：
    info = 所有信息(默认)
    aclass = 资产类别(可选)：
    货币(默认)
    asset = 逗号分隔的资产列表以获取信息(可选，默认=所有给定资产类别)
    </pre>
    								<p>结果：资产名称及其信息的数组</p>
    								<pre>
    &lt;asset_name&gt; = 资产名称
    altname = 替代名称
    aclass = 资产类别
    decimals = 缩放小数位以保存记录
    display_decimals = 缩放小数位以显示输出
    </pre>
    								<h3 id=“get-tradable-pairs”>获取可交易资产对</h3>
    								<p>URL: https://api.kraken.com/0/public/AssetPairs </p>
    								<P>输入：</p>
    								<PRE>
    info = 要检索的信息(可选)：
    info = 所有信息(默认)
    leverage = 杠杆信息
    fees = 费用表
    margin = 保证金信息
    pair = 逗号分隔的资产对列表以获取信息(可选，默认 = 全部)
    </pre>
    								<p>结果：货币对的名称数组及其信息</p>
    								<pre>
    &lt;pair_name&gt; = 对名称
    altname = 备用对名称
    wsname = WebSocket对名称(如果可用)
    aclass_base = 基本组件的资产类别
    base = 基本组件的资产编码
    aclass_quote = 报价组件的资产类别
    quote = 报价组件的资产编码
    lot =批量大小
    pair-decimals = 货币对的小数位数
    lot_decimals = 交易量的小数位数
    lot_multiplier = 将批量交替乘以获得货币量的数量
    leverage_buy = 购买时可用的杠杆数量数组
    leverage_sell = 卖出时可用的杠杆数量数组
    fees = 费用计划数组[交易量，百分比]元组
    fees  maker = 挂单费用计划数组[体积，百分比费用]元组(如果在挂单/收单)
    fee_volume_currency = 交易量折扣货币
    margin_call = 追加保证金水平
    margin_stop =止损/清算保证金水平
    </pre>
    								<p>请注意：如果资产对符合挂单/收单费用表，则为收单方面的“费用”和挂单方面的“挂单费用”。对于没有挂单/收单的货币对，他们将只收取“费用”。</p>
    								<h3 id=“get-ticker-info”>获取工单信息</h3>
    								<p>网址：https://api.kraken.com/0/public/Ticker </p>
    								<P>输入：</p>
    								<pre>
    pair = 逗号分隔的资产对列表以获取信息
    </pre>
    								<p>结果：对名称数组及其工单信息</p>
    								<PRE>
    &lt;pair_name&gt; = 对名称
    a = 询问数组 (&lt; 价格&gt;, &lt;所有批量大小&gt;, &lt;批量&gt;),
    b = 出价数组 (&lt; 价格&gt;,&lt;所有批量大小&gt;,&lt;批量&gt;),
    c = 最后交易关闭数组 (&lt; 价格&gt;，&lt; 批量大小&gt;),
    v = 交易量数组 (&lt; 今天＆gt;,&lt; 最近24小时&gt;),
    p = 交易量加权平均价格数组(&lt; 今天&gt;,&lt; 最近24小时&gt;),
    t = 交易数组 (&lt; 今天&gt;,&lt; 最近24小时&gt;),
    l =低数组 (&lt; 今天&gt;,&lt; 最近24小时&gt;),
    h =高数组 (&lt; 今天&gt;,&lt; 最近24小时&gt;),
    o = 今天的开盘价
    </pre>
    								<p>请注意：当日价格从00:00:00 UTC开始</p>
    								<h3 id=“get-ohlc-data”>获取OHLC数据</h3>
    								<p>网址URL: https://api.kraken.com/0/public/OHLC </p>
    								<p>输入：</p>
    								<pre>
    pair = 资产对获取OHLC数据
    interval = 以分钟为单位的时间帧间隔(可选)：
    1 (默认), 5, 15, 30, 60, 240, 1440, 10080, 21600
    since = 返回已提交的OHLC数据，基于给定的编码(可选，独有的)
    </pre>
    								<p>结果：对名称和OHLC数据的数组</p>
    								<PRE>
    &lt;pair_name&gt; = 对名称
    输入条目数组(&lt; 时间&gt;,&lt; 开设&gt;,&lt; 高的&gt;,&lt; 低的&gt;,&lt; 关闭&gt;,&lt; vwap&gt;,&lt; 交易量&gt;,&lt; 计算&gt;)
    last = 用于自新一轮开始，已实施的OHLC数据编码

    <p>请注意：OHLC数组中的最后一个条目用于当前的尚未提交的帧，并且始终存在，无论&quot;since&quot的值是什么。</p>

    <h3 id =“get-order-book”>获取订单</h3>
    <p>URL: https://api.kraken.com/0/public/Depth </p>

    <P>输入：</p>
    <pre>
    pair = 资产对以获得市场深度
    count = 最大要求/出价数量(可选)
    </pre>

    								<p>j结果：对名称和市场深度数组</p>
    								<pre>
    &lt;pair_name&gt; = 对名称
    asks = 询问数组条目的边数组(&lt; 价格&gt;,&lt; 交易量&gt;,&lt; 时戳&gt;)
    bids = 数组条目的出价边数组(&lt; 价格&gt;,&lt; 交易量&gt;,&lt; 时戳&gt;)
    </pre>

    								<h3 id=“get-recent-trades”>获取近期交易</h3>
    								<p>URL: https://api.kraken.com/0/public/Trades </p>

    								<P>输入：</p>
    								<pre>
    pair = 资产对以获取交易数据
    since = 返回自给定编码以来的交易数据(可选，独有的)
    </pre>

    								<p>结果：对名称和最近交易数据的数组</p>
    								<pre>
    &lt; pai_name&gt; = 对名称
    数组条目数组(&lt; 价格&gt;, &lt; 交易量&gt;, &lt; 时间&gt;, &lt; 买/卖&gt;, &lt; 市价/限值&gt;,&lt;miscellaneous &gt;)
    last =在新一轮的交易数据时使用的编码
    </pre>

    								<h3 id=“get-recent-spread-data”>获取最近的传播数据</h3>
    								<p>URL: https://api.kraken.com/0/public/Spread </p>

    								<P>输入：</p>
    								<pre>
    pair =资产对以获取传播数据
    since =返回自给定编码以来的传播数据(可选，包容性)
    </pre>

    								<p>结果：对名称和最近传播数据的数组</p>

    								<pre>
    &lt; pair_name &gt; = 对名称
    数组条目数组(&lt; 时间&gt;,&lt; 买价&gt;,&lt; 要价&gt;)
    last = 用作新一轮传播数据时的编码
    </pre>

    								<p>请注意：&quote;since&quote; 是包容性的，因此任何与前一组相同的返回数据都应该覆盖当时所有先前集合的条目</p>

    								<h2 id=“private-user-data”>私人用户数据</h2>
    								<h3 id=“get-account-balance”>获取帐户余额</h3>

    								<p>URL: https://api.kraken.com/0/private/Balance </p>

    								<p>结果：资产名称数组和余额</p>

    								<h3 id=“get-trade-balance”>获取交易余额</h3>
    								<p>URL: https://api.kraken.com/0/private/TradeBalance </p>

    								<P>输入：</p>

    								<pre>
    aclass = 资产类(可选)：
    货币(默认)
    asset = 用于确定余额的基础资产(默认= ZUSD)
    </pre>

    								<p>结果：交易余额信息数组</p>
    								<pre>
    eb = 等值余额(所有货币的总余额)
    tb = 交易差额(所有权益货币的合并余额)
    m = 未结头寸的保证金金额
    n = 未实现的净利润/未平仓头寸的损失
    c = 未结头寸的成本基础
    v = 未平仓头寸的当前浮动估值
    e = 股权 = 贸易差额 + 未实现净利润/亏损
    mf = 可用保证金=权益 - 初始保证金(可用于开立新头寸的最大保证金)
    ml = 保证金水平 =(权益/初始保证金)* 100
    </pre>

    								<p>请注意：用于浮动估值的费率是最佳买入价和卖出价的中点</p>

    								<h3 id=“get-open-orders”>获取未结订单</h3>

    								<p>URL: https://api.kraken.com/0/private/OpenOrders </p>

    								<p>输入：</p>

    								<pre>
    trades = 是否在输出中包含交易(可选，默认= 错误)
    userref = 将结果限制为给定的用户标识编码(可选)
    </pre>

    								<p>结果：打开数组中以txid为密钥的订单信息数组</p>

    								<pre>
    refid = 创建此订单的标识订单交易编码
    userref = 用户参考编码
    status = 订单状态：
    pending = 订单挂单簿条目
    open = 未结订单
    closed = 关闭订单
    cancelled = 订单已取消
    expired = 订单已失效
    opentm = 发出订单时的unix时间戳
    starttm = 订单开始时间的unix时间戳(如果未设置，则为0)
    expiretm = 订单结束时间的unix时间戳(如果未设置，则为0)
    descr = 订单描​​述信息
    pair = 资产对
    type =订单类型(买入/卖出)
    ordertype = 订单类型(请参阅<a href="#add-standard-order">添加标准订单</a>)
    price = 主要价格
    price2 = 二级价格
    leverage = 杠杆数量
    order = 订单描​​述
    close = 条件关闭订单描述(如果设置条件收盘价)
    vol = 订单量(基础货币，除非viqc设置为oflags)
    vol_exec = 已执行的交易量(基础货币，除非在oflags中设置了viqc)
    cost = 总成本(报价货币，除非viqc设置为oflags)
    fee = 总费用(报价货币)
    price = 平均价格(报价货币，除非viqc设置为oflags)
    stopprice = 止损价格(报价货币，追踪止损)
    limitprice = 触发限价(报价货币，当触发基于限价的订单类型时)
    misc = 逗号分隔的杂项信息列表
    stopped = 由止损价触发
    touched = 触摸价格触发
    liquidated = 清算
    partial = 部分匹配
    oflags = 逗号分隔的订单标志列表
    viqc = 报价货币的数量
    fcib = 基础货币的优先费用(如果卖出则默认)
    fciq = 报价货币的优先费用(如果购买则默认)
    nompp = 没有市场价格保护
    trades = 与订单相关的交易编码数组(如果要求交易信息和可用数据)
    </pre>

    								<p>请注意：除非另有说明，否则成本、费用、价格和交易量均以资产对的比例计算，而非货币的比例。例如，如果资产对使用的批量大小为8，则即使其所代表的货币的比例为2，该交易量也将使用8的等级。同样，如果资产对的定价比例为5
    									，即使基础货币的比例为8，该比例也将保持为5。</p>

    								<h3 id=“get-closed-orders”>获取已关闭订单</h3>

    								<p>URL: https://api.kraken.com/0/private/ClosedOrders </p>

    								<p>输入：</p>

    								<pre>
    交易 = 是否在输出中包含交易(可选，默认=错误)
    userref = 将结果限制为给定的用户标识编码(可选)
    开始 = 启动unix时间戳或订单结果的tx id(可选，非包含性)
    结束 = 结束unix时间戳或订单结果的tx id(可选，包含性)
    ofs = 结果偏移量
    关闭时间 = 所使用时间(可选)
    开设
    关闭
    两者(默认)
    </pre>

    								<p>结果：订单信息数组</p>

    								<pre>
    closed =订单信息数组。请参阅<a href="#get-open-orders">获取未结订单</a>。
    其他字段：
    closetm =订单关闭时的unix时间戳
    reason =有关状态的其他信息(如果有)
    count =可用订单信息匹配条件的数量
    </pre>

    								<p>请注意：订单tx编码给出的时间比unix时间戳更精确。如果给出了该时间的订单tx编码，则使用订单的开放时间</p>

    								<h3 id=“query-orders-info”>查询订单信息</h3>

    								<p>网址：https://api.kraken.com/0/private/QueryOrders </p>

    								<p>输入：</p>

    								<pre>
    交易 =是否在输出中包含交易（可选。默认=错误 ）
    userref =将结果限制为给定的用户引用标识（可选）
    txid =逗号分隔的事务ID列表，用于查询有关的信息（最多50个）
    </pre>

    								<p>结果：订单信息的关联数组</p>

    								<pre>
    ＆lt; 订单_txid＆GT; =订单信息。请参阅<a href="#get-open-orders">获取未结订单</a> / <a href="#get-closed-orders">获取已结订单</a>
    </pre>

    								<h3 id=“get-trades-history”>获取交易记录</h3>

    								<p>网址：https://api.kraken.com/0/private/TradesHistory </p>

    								<p>输入：</p>

    								<pre>
    类型 =交易类型（可选）
    所有 =所有类型（默认）
    任何头寸 =任意头寸（开放或关闭）
    关闭头寸 =已关闭的头寸
    平仓头寸 =任意平仓全部或部分头寸的交易
    没有头寸 = 非头寸的交易
    交易 =是否包括与产出中的头寸相关的交易（可选。默认=错误）
    开始 =启动unix时间戳或交易结果的tx id（可选。独占）
    结束 =结束unix时间戳或交易结果的tx id（可选。包括）
    ofs =结果偏移量
    </pre>

    								<p>结果：交易信息数组</p>

    								<pre>
    交易 =以txid为关键字的交易信息数组
    订单txid =负责执行交易的订单
    对=资产对
    时间 = unix贸易时间戳
    类型 =订单类型（买/卖）
    订单类型 =订单类型
    价格 =平均价格订单执行于（报价货币）
    成本 =订单总成本（报价货币）
    费用 =总费用（报价货币）
    交易量 =交易量（基础货币）
    保证金 =初始保证金（报价货币）
    misc =逗号分隔的杂项信息列表
    关闭=交易关闭全部或部分头寸
    计算 =可用交易信息匹配条件的数量
    </pre>

    								<p>如果交易开仓，则跟随的字段也会出现在交易信息中：</p>

    								<pre>
    posstatus =头寸状态（开/关）
    c价格 =持仓的平均价格（报价货币）
    c成本 =持仓的封闭部分的总成本（报价货币）
    c费用 =头寸的封闭部分的总费用（报价货币）
    c交易量 =持仓部分的总费用（报价货币）
    c保证金 =在头寸的封闭部分释放的总保证金（报价货币）
    净 =净利润/头寸的封闭部分损失（报价货币，报价货币比例）
    交易 =头寸平仓交易清单（如果有）
    </pre>

    								<p>注意：</p>
    								<ul>
    									<li>除非另有说明，否则成本，费用，价格和数量均为资产组的规模，而非货币的规模。</li>
    									<li>交易ID给出的时间比unix时间戳更准确。<p>
    								</ul>

    								<h3 id=“query-trades-info”>查询交易信息</h3>
    								<p>网址：https://api.kraken.com/0/private/QueryTrades </p>

    								<p>输入：</p>

    								<pre>
    txid =逗号分隔的事务ID列表，用于查询有关的信息（最多20个）
    交易=是否包括与产出中的头寸相关的交易（可选。默认=错误）
    </pre>

    								<p>结果：交易信息的关联数组</p>

    								<pre>
    ＆lt; 交易_txid＆gt; =交易信息。请参阅<a href="#get-trades-history">获取交易记录</a>
    </pre>

    								<h3 id=“get-open-positions”>获取未结头寸</h3>
    								<p>网址：https://api.kraken.com/0/private/OpenPositions </p>

    								<P>输入：</p>

    								<pre>
    txid =逗号分隔的事务ID列表，用于限制输出
    docalcs =是否包括损益计算（可选。默认= 错误）
    </pre>

    								<p>结果：未结头寸信息的关联数组</p>

    								<pre>
    ＆lt; 头寸_txid＆GT; =未结头寸信息
    订单txid =负责执行交易的订单
    对=资产对
    时间 = unix贸易时间戳
    类型 =用于开仓的订单类型（买入/卖出）
    订单类型 =用于开仓的订单类型
    成本 =开仓成本（除非viqc设置为oflags，否则报价货币）
    费用 =开仓费（报价货币）
    交易量 =头寸量（基本货币，除非viqc设置为oflags）
    交易量_关闭 =头寸交易量已关闭（基础货币除非viqc设置为oflags）
    保证金 =初始保证金（报价货币）
    价值 =剩余位置的当前值（如果请求docalcs。报价货币）
    净值 =剩余头寸的未实现利润/亏损（如果要求的是docalcs。报价货币，报价货币比例）
    misc =逗号分隔的杂项信息列表
    oflags =逗号分隔的订单标志列表
    viqc =报价货币的数量
    </pre>

    								<p>注意：除非另有说明，否则成本，费用，价格和交易量均以资产对的比例计算，而非货币的比例。</p>

    								<h3 id=“get-ledgers-info”>获取分类帐信息</h3>

    								<p>网址：https://api.kraken.com/0/private/Ledgers </p>


    								<p>输入：</p>

    								<pre>
    分类 =资产类（可选）：
    货币（默认）
    资产 =逗号分隔的限制输出的资产列表（可选。默认=全部）
    类型 =要检索的分类帐类型（可选）：
    全部（默认）
    存款
    取款
    交易
    保证金
    开始 =启动结果的unix时间戳或分类帐id（可选. 唯一）
    结束 =结束unix时间戳或结果的分类帐id（可选。包括）
    ofs =结果偏移量
    </pre>

    								<p>结果：分类帐信息的关联数组</p>

    								<pre>
    ＆lt; 分类账_id＆gt; =分类帐信息
    refid =引用ID
    分类帐时间 = unx时间戳
    类型 =分类帐条目的类型
    分类 =资产类别
    资产 =资产
    金额 =交易金额
    费用 =交易费
    余额 =结果余额
    </pre>

    								<p>注意：分类帐ID给出的时间比unix时间戳更准确。</p>

    								<h3 id=“query-ledgers”>查询分类帐</h3>

    								<p>网址: https://api.kraken.com/0/private/QueryLedgers</p>

    								<p>输入:</p>

    								<pre>
    id =逗号分隔的分类帐ID列表，用于查询有关的信息（最多20个）
    </pre>

    								<p>结果：分类帐信息的关联数组</p>

    								<pre>
    ＆lt;分类账_id＆gt; =分类帐信息。请参阅<a href="#get-ledgers-info">获取分类帐信息</a>
    </pre>

    								<h3 id=“get-trade-volume”>获取交易量</h3>

    								<p>网址：https://api.kraken.com/0/private/TradeVolume </p>

    								<p>输入：</p>

    								<pre>
    对 =逗号分隔的资产对列表以获取费用信息（可选）
    费用信息 =是否在结果中包含费用信息（可选）
    </pre>

    								<p>结果：关联数组</p>

    								<pre>
    货币=交易量货币
    交易量 =当前折扣量
    费用 =资产对数组和费用等级信息（如果要求）
    费用 =当前费用百分比
    最低费用 =配对的最低费用（如果不是固定费用）
    最高费用 =配对的最高费用（如果不是固定费用）
    下一级费用 =下一级的成对费用（如果不是固定费用。如果是最低费用等级则为零）
    下一级交易量 =下一级的交易量（如果不是固定费用，如果是最低费用等级则为零）
    当前交易量 =当前等级的交易量（如果不是固定费用，如果是最低费用等级则为零）
    挂单费用 =挂单/收单计划中任何货币对的资产对数组和挂单费用等级信息（如果请求）
    费用= 当前费用百分比
    最低费用 =配对的最低费用（如果不是固定费用）
    最高费用 =配对的最高费用（如果不是固定费用）
    下一级费用 =下一级的成对费用（如果不是固定费用。如果是最低费用等级则为零）
    下一级交易量 =下一级的交易量（如果不是固定费用，如果是最低费用等级则为零）
    当前交易量 =当前等级的交易量（如果不是固定费用，如果是最低费用等级则为零）
    </pre>

    								<p>注意：如果资产对符合挂单/收单费用表，则为收单方面给出的“费用”和挂单方面给出的“费用”。对于没有的
    									挂单/收单的货币对，他们将只收取“费用”。</p>

    								<h3 id=“add-history-export”>请求导出报告</h3>
    								<p>网址：https://api.kraken.com/0/private/AddExport </p>

    								<p>输入：</p>

    								<pre>
    描述 =报告描述信息
    报告 =报告类型（交易/分类账）
    格式 =（CSV / TSV）（可选。默认= CSV）
    字段 =逗号分隔的要包含在报告中的字段列表（可选。默认=全部）
    注意：字段选项基于报告类型
    ＆lt;交易＆gt;
    订单txid
    时间
    订单类型
    价钱
    成本
    费用
    交易量
    保证金
    杂项
    分类帐
    ＆lt;分类帐＆gt;
    REFID
    时间
    类型
    分类
    资产
    数额
    费用
    余额
    资产 =逗号分隔的限制输出的资产列表（可选。默认=全部）
    开始 =报告开始时间（可选。默认=一年前）：
    ＆lt;n＆gt; =开始时间的unix时间戳
    endtm =报告结束时间（可选。默认=现在）：
    ＆lt;n＆gt; =结束时间的unix时间戳
    </pre>

    								<p>结果：</p>

    								<pre>
    id =报告ID
    </pre>

    								<p>错误：错误包括（但不限于）：</p>

    								<pre>
    EGeneral：无效的参数
    EQuery：未知资产对
    </pre>

    								<h3 id="get-export-statuses">获取导出状态</h3>
    								<p>URL: https://api.kraken.com/0/private/ExportStatus</p>

    								<P>输入：</p>

    								<pre>
    报告 =报告类型（交易/分类账）
    </pre>

    								<p>结果：报告数组及其信息</p>

    								<pre>
    id =报告ID
    descr =报告描述信息
    格式=（CSV/TSV）
    报告 =报告类型（交易/分类账）
    状态 =订单状态：
    已排队 =报告已排队等待创建
    处理 =报告正在处理中
    已处理 =报告已完成
    创建tm =时间报告已创建
    到期tm =时间报告到期
    开始tm =报告开始时间
    结束tm =报告结束时间
    完成tm =时间报告已完成
    分类 =资产类别
    资产 =逗号分隔的资产列表
    字段 =逗号分隔的字段列表
    ＆lt;交易＆gt;
    TxID添加
    订单txid
    货币对
    时间
    类型
    订单类型
    价格
    成本
    费用
    交易量
    保证金
    杂项
    分类帐
    ＆lt;分类账＆gt;
    txid
    refid
    时间
    类型
    分类
    资产
    数额
    费用
    余额
    </pre>

    								<p>错误：错误包括（但不限于）：</p>

    								<pre>
    EGeneral：无效的参数
    </pre>

    								<h3 id=“get-history-export”>获取导出报告</h3>
    								<p>网址：https://api.kraken.com/0/private/RetrieveExport </p>

    								<P>输入：</p>

    								<pre>
    id =报告ID
    </pre>

    								<p>结果：包含报告的二进制zip存档</p>

    								<p>注意：如果内容类型不是app/json，text或html，
    									二进制报告将被传回。如果它是这些类型之一，您可能会在响应中出现错误。
    								</p>

    								<p>注意：根据所选的报告类型和所选字段，
    									报告可以包含以下字段。带*的字段会永远出现。
    								</p>
    								 
    								 
    								<pre>
    ＆lt;交易＆gt;
    *txid
    订单txid
    *货币对
    时间
    *类型
    订单类型
    价格
    成本
    费用
    交易量
    保证金
    杂项
    分类帐
    ＆lt;分类张＆gt;
    *txid
    REFID
    时间
    类型
    分类
    资产
    数额
    费用
    余额
    </pre>

    								<h3 id=“remove-history-export”>删除导出报告</h3>
    								<p>网址：https://api.kraken.com/0/private/RemoveExport </p>

    								<p>输入：</p>

    								<pre>
    类型 =删除类型（取消/删除）
    id =报告ID
    </pre>

    								<p>结果：呼叫结果bool</p>

    								<pre>
    取消/删除=删除类型
    </pre>

    								<p>注意：删除删除类型只能用于报表
    									已经处理完毕。对排队和处理状态使用取消。
    								</p>

    								<p>错误：错误包括（但不限于）：</p>

    								<pre>
    EGeneral：无效的参数
    WExport：已经处理完毕
    </pre>

    								<p>注意：在取消或删除操作的情况下
    									已经发生在特定的报告ID上，你会得到返回WExport：已经处理错误。
    								</p>

    								</br></br></br>

    								<h2 id=“private-user-trading”>私人用户交易</h2>

    								<h3 id=“add-standard-order”>添加标准订单</h3>
    								<p>网址：https://api.kraken.com/0/private/AddOrder </p>

    								<P>输入：</p>

    								<pre>
    对=资产对
    类型 =订单类型（买/卖）
    订单类型 =订单类型：
    市场
    限价（价格=限价）
    止损（价格=止损价格）
    获利（价格=获利价格）
    止损 - 利润（价格=止损价格，价格2 =获利价格）
    止损 - 利润限制（价格=止损价格，价格2 =获利价格）
    止损限价（价格=止损触发价格，价格2 =触发限价）
    获利限制（价格=获利触发价格，价格2 =触发限价）
    追踪止损（价格=追踪止损）
    追踪止损限价（价格=追踪止损，价格2 =触发限价抵消）
    止损和限价（价格=止损价格，价格2 =限价）
    结算头寸
    价格=价格（可选。取决于订单类型）
    价格2 =次要价格（可选。取决于订单类型）
    交易量 =批量订单量
    杠杆 =所需的杠杆数量（可选。默认=无）
    oflags =逗号分隔的订单标志列表（可选）：
    viqc =报价货币的数量（不适用于杠杆订单）
    fcib =基本货币的优惠费用
    fciq =优先报价货币的费用
    nompp =没有市场价格保护
    发布 =仅发布订单（当订单类型=限制时可用）
    开始tm =预定开始时间（可选）：
    0 =现在（默认）
    +lt;n＆gt; =日程安排开始时间＆lt;n＆gt;从现在起几秒钟
    ＆lt;n＆gt; =开始时间的unix时间戳
    到期tm =到期时间（可选）：
    0 =没有到期（默认）
    +lt;n＆gt; =到期＆lt;n＆gt;从现在起几秒钟
    ＆lt;n＆gt; =到期时间的unix时间戳
    用户ref =用户参考ID。 32位有符号数。 （可选的）
    有效日期 =仅验证输入。不提交订单（可选）

    在订单填写时添加到系统的可选结账订单：
    关闭 [订单类型] =订单类型
    关闭[价格] =价格
    关闭[价格2] =二级价格
    </pre>

    								<p>结果：</p>

    								<pre>
    描述 =订单描​​述信息
    订单 =订单描​​述
    关闭 =有条件关闭订单描述（如果是条件收盘价）
    txid =订单的事务ID数组（如果订单已成功添加）
    </pre>

    								<p>错误：错误包括（但不限于）：</p>

    								<PRE>
    EGeneral：无效的参数
    EService：不可用
    ETrade：无效的请求
    EOrder：无法开仓
    EOrder：无法打开对立头寸
    EOrder：超出保证金限额
    EOrder：保证金水平太低
    EOrder：保证金不足（交易所没有足够的资金来进行保证金交易）
    EOrder：资金不足（用户资金不足）
    EOrder：不达最低订单（数量太低）
    EOrder：超出订单限制
    EOrder：超出头寸限制
    EOrder：超出限额
    EOrder：超出预定订单限额
    EOrder：未知头寸
    </pre>

    								<p>注意：</p>
    								<ul>
    									<li>有关资产对价格，交易量和杠杆的规范，请参阅<a href="#get-tradable-pairs">获取可交易资产对</a>。</li>
    									<li>价格前面可以加上+， -
    										或＃来表示价格作为相对金额（除了跟踪止损，它们总是相对的）。+将金额添加到当前的报价中。-从当前的报价中减去金额。＃将根据所使用的类型和订单类型向当前提供的价格添加或减去金额。相对价格可以以％为后缀，表示相对金额占提供价格的百分比。</li>
    									<li>对于使用杠杆的订单，可以使用0来自动填充关闭头寸所需的交易量。</li>
    									<li>如果您收到错误“EOrder：需要交易协议”，请参阅您的API密钥管理页面以获取更多详细信息。</li>
    								</ul>

    								<h3 id=“cancel-open-order”>取消未结订单</h3>
    								<p>网址：https://api.kraken.com/0/private/CancelOrder </p>

    								<p>输入：</p>

    								<pre>
    txid =交易ID
    </pre>

    								<p>结果：</p>
    								<pre>
    计算 =已取消的订单数量
    待定 =如果设置，则订单正在等待取消
    </pre>

    								<p>注意：txid可能是用户引用ID。</p>

    								<h2 id="private-user-funding">私人用户资金</h2>

    								<p><strong>注意:</strong>这是一个暂时的资金API，可能会在将来进行更新。有关使用API的更多信息，请参阅 <a href="/help/api">API</a>页面.</p>

    								<h3 id="deposit-methods">获取存款方式</h3>

    								<p>网址: https://api.kraken.com/0/private/DepositMethods</p>

    								<p>输入:</p>

    								<pre>
    分类 = 资产类 (可选):
    货币 (默认)
    资产 = 资产存入
    </pre>

    								<p>结果：存款方法的关联数组：</p>
    								<pre>
    方法 =存款方法名称
    限额 =现在可以存入的最大净额，如果没有限制则为错误
    费用=将支付的费用金额
    设置地址免费 = 方法是否有地址设置费（可选）
    </pre>

    								<h3 id="deposit-addresses">获取存款地址</h3>

    								<p>网址: https://api.kraken.com/0/private/DepositAddresses</p>

    								<p>输入:</p>

    								<pre>
    分类=资产类（可选）：
    货币（默认）
    资产=资产存入
    方法 =存款方式的名称
    新的 =是否生成新地址（可选。默认= 错误）
    </pre>

    								<p>结果：存款地址的关联数组：</p>
    								<pre>
    地址=存款地址
    expiretm参数 = unix时间戳中的到期时间，如果未到期则为0
    新的 =是否曾使用过地址
    </pre>


    								<h3 id="deposit-status">获取最近存款的状态</h3>

    								<p>网址: https://api.kraken.com/0/private/DepositStatus</p>

    								<p>输入:</p>

    								<pre>
    分类 =资产类（可选）：
    货币（默认）
    资产 =资产存入
    方法 =存款方式的名称
    </pre>

    								<p>结果：数组存款状态信息数组：</p>
    								<pre>
    方法 =使用的存款方法的名称
    资产分类 =资产类别
    资产 =资产X-ISO4217-A3代码
    refid =引用ID
    txid =交易方式ID
    info =交易方式信息
    金额 =存入金额
    费用 =已支付的费用
    时间 =发出请求时的unix时间戳
    状态 =存款状态
    状态-支持 =其他状态属性（如果可用）
    退回 =由Kraken发起的退款交易
    暂停 =存款待审核
    </pre>

    								有关存款状态的更多信息，请参阅 <a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fglobalcitizen%2Fiiban" target="_blank" target="_blank">IFEX金融交易状态</a>。

    								<h3 id="get-withdrawal-info">获取提款信息</h3>

    								<p>网址: https://api.kraken.com/0/private/WithdrawInfo</p>

    								<p>输入：</p>

    								<pre>
    资产分类 =资产类（可选）：
     货币（默认）
    资产 =资产被取出
    密钥 =取款密钥名称，在您的帐户中设置
    金额 =取款金额
    </pre>

    								<p>结果：提款信息的关联数组：</p>
    								<pre>
    方法 =将要使用的取款方法名称
    限额 =现在可以提取的最高净额
    费用 =将支付的费用金额
    </pre>

    								<h3 id="withdraw-funds">提取资金</h3>

    								<p>网址: https://api.kraken.com/0/private/Withdraw</p>

    								<p>输入：</p>

    								<pre>
    资金分类 =资产类（可选）：
    货币（默认）
    资产 =资产被提取
    密钥 =取款密钥名称，在您的帐户中设置
    金额 =取款金额，包括费用
    </pre>

    								<p>结果：提款交易的关联数组：</p>
    								<pre>
    refid = 参考ID
    </pre>

    								<h3 id="withdraw-status">获取最近取款的状态</h3>

    								<p>网址: https://api.kraken.com/0/private/WithdrawStatus</p>

    								<p>输入：</p>

    								<pre>
    资产分类 =资产类（可选）：
    货币（默认）
    资产= 资产被提取
    方法 =取款方式的名称（可选）
    </pre>

    								<p>结果：数组提取状态信息数组：</p>
    								<pre>
    方式 =使用的提款方法的名称
    资产分类 =资产类别
    资产 =资产X-ISO4217-A3代码
    refid =引用ID
    txid =交易方式ID
    info =交易方式信息
    金额 =提取金额
    费用 =已支付的费用
    时间 =发出请求时的unix时间戳
    状态 =取款状态
    状态-支持 =其他状态属性（如果可用）
    取消-待定 =请求取消
    已取消 =已取消
    取消-拒绝 =取消请求被拒绝
    退回 =由Kraken发起的退款交易;它无法取消
    暂定 =取款暂停等待审查
    </pre>

    								有关取款状态的更多信息，请参阅 <a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fglobalcitizen%2Fiiban" target="_blank">IFEX金融交易状态</a>。

    								<h3 id="withdraw-cancel">取款取消请求</h3>

    								<p>网址: https://api.kraken.com/0/private/WithdrawCancel</p>

    								<p>输入：</p>

    								<pre>
    资产分类 =资产类（可选）：
    货币（默认）
    资产= 资产被提取
    refid =提款参考ID
    </pre>

    								<p>结果：成功时为真</p>

    								<p>注意：<strong>取消请求无法保证。</strong> 这将放置
    									在取消请求中。取决于取款过程的距离，可能会无法取消取款</p>

    								<h3 id="wallet-transfer">钱包转账</h3>

    								<p>网址: https://api.kraken.com/0/private/WalletTransfer</p>

    								<p>输入：</p>

    								<pre>
    资产 =资产被提取
    给到 =资金转移到哪个钱包
    期货钱包（默认）
    来自 =从哪个钱包转移资金
    现货钱包（默认）
    金额 =取款金额，包括费用
    </pre>

    								<p>结果：转移事务的关联数组：</p>
    								<pre>
    refid = 参考id
    </pre>

    								<h2 id="ws-auth">WebSockets 身份验证</h2>

    								<p>API客户必须通过以下REST API端点“GetWebSocketsToken”请求身份验证“令牌”以连接到WebSockets专用端点。令牌每60分钟到期一次。</p>

    								<p>网址: https://api.kraken.com/0/private/GetWebSocketsToken</p>

    								<p>输入：</p>
    								<pre>
    有效 =令牌有效的分钟数（可选/默认（最大）：60分钟）
    许可 =逗号分隔的允许订阅源列表（可选/默认：全部）
    </pre>

    								<p>必须在任何新的私有WebSocket订阅源的“令牌”字段中提供生成的令牌：</p>
    								<pre>
    {
    “事件”：“订阅”，
    “订阅”：{
    “名称”：“自己的交易”，
    “令牌”：“secretwstoken123”
    }
    }
    </pre>

    								<h2 id=“example-api-code”>示例API客户端</h2>

    								<p>以下是编写自己的API客户端时可以使用的示例API客户端代码库。请记住，Payward和第三方对由于错误或不当使用API​​而造成的损失负责。在列出第三方代码之前，Payward已对第三方代码的安全性进行了初步审核，但无法保证从那时起添加的任何更改。如果您有疑虑，请联系<a
    									 href="/redirect?url=https%3A%2F%2Fsupport.kraken.com" target="_blank">客服</a>。

    									<h3 id=“example-api-code-c”> C </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2FhANSIc99%2FKraken_C_API" target="_blank">
    											https://github.com/hANSIc99/Kraken_C_API </a> </p>
    									<h3 id="example-api-code-cs">C#</h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fbitbucket.org%2Farrivets%2Fkrakenapi" target="_blank">
    											https://bitbucket.org/arrivets/krakenapi </a> </p>

    									<h3 id=“example-api-code-cpp”> C ++ </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fvoidloop%2Fkrakenapi" target="_blank">
    											https://github.com/voidloop/krakenapi </a> </p>

    									<h3 id=“example-api-code-go”> GO </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2FBeldur%2Fkraken-go-api-client" target="_blank">https://github.com/Beldur/kraken-go-api-client</a>
    									</p>

    									<h3 id=“example-api-code-nodejs”> Node.JS </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fnothingisdead%2Fnpm-kraken-api" target="_blank">https://github.com/nothingisdead/npm-kraken-api</a>.</p>

    									<h3 id=“example-api-code-perl”> PERL </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=http%3A%2F%2Fsearch.cpan.org%2F%7Ephilippe%2FFinance-Bank-Kraken-0.1%2F"
    										 target="_blank"> http://search.cpan.org/~philippe/Finance-Bank-Kraken-0.1/ </a>.</p>

    									<h3 id=“example-api-code-python3”> Python 3 </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fveox%2Fpython3-krakenex" target="_blank">
    											https://github.com/veox/python3-krakenex</a>.</p>

    									<h3 id=“example-api-code-python2”> Python 2 </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fveox%2Fpython2-krakenex" target="_blank">
    											https://github.com/veox/python2-krakenex </a>.</p>

    									<h3 id=“example-api-code-ruby”> Ruby </h3>
    									<p>请参阅第三方提交的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fjonatack%2Fkraken_ruby_client" target="_blank">
    											https://github.com/jonatack/kraken_ruby_client</a>.</p>

    									<h3 id=“example-api-code-php”> PHP </h3>
    									<p> Kraken团队提供了一个基本的PHP库，用于与Kraken REST API进行交换。Payward的<a href="/redirect?url=https%3A%2F%2Fgithub.com%2Fpayward%2Fkraken-api-client%2Ftree%2Fmaster%2Fphp"
    										 target="_blank">也提供了来源和使用示例。<strong> kraken-api-client </strong> github存储库</a>并且<a href="/redirect?url=http%3A%2F%2Fopensource.org%2Flicenses%2FMIT"
    										 target="_blank">得到麻省理工学院</a>。</p>

    									<h3 id=“example-api-code-php-lib”>库</h3>
    									<p>使用此库类通过PHP客户端调用Kraken REST API。它会自动确定API方法的正确URL路径，为每个请求生成一个nonce，并使用您的API密钥和生成的nonce添加一个带符号的标头。</p>
    									<PRE> &lt;?php
    / **
    * Kraken REST API的实用参考。
    *
    *更多信息请参阅https://www.kraken.com/help/api
    *
    *
    * MIT许可证（MIT）
    *
    *版权所有（c）2013 Payward，Inc
    *
    *特此授予获得本软件及相关文档文件（“软件”）副本
    *的任何人免费许可，无限制地在软件中交易
    *，无限制包括权利
    *使用，复制，修改，合并，出版，分发，再许可和/或出售
    *本软件的副本，并允许向其提供软件的人员这样做，但须符合以下条件：
    *
    *以上版权声明和本许可声明应包含在本软件的所有副本或实质部分中。
    *
    *本软件按“原件”提供，不提供任何形式，包括明示或暗示的保证，包括但不限于以下保证：适销性，
    *适用于特定用途和不侵权的适用性。在任何情况下，
    *作者或版权所有者均不对任何索赔，损害或其他责任承担任何责任，无论是在合同，侵权行为还是其他方面，由本软件或其他方式或其他方式引起或与之相关在*软件中进行交易。* /

    类 KrakenAPIException扩展ErrorException {};

    类 KrakenAPI
    {
    protected $key; // API key
    protected $secret; // API secret
    protected $url; // API base URL
    protected $version; // API version
    protected $curl; // curl handle

    /**
    *KrakenAPI的构造函数
    *
    * @param string $key API key
    * @param string $secret API secret
    * @param string $url base URL for Kraken API
    * @param string $version API version
    * @param bool $sslverify enable/disable SSL peer verification. disable if using beta.api.kraken.com
    */
    function __construct（$ key，$ secret，$ url =&#039;https://api.kraken.com&#039;, $ version =&#039;0&#039;，$ sslverify = true）
    {
    $this-&gt;key = $key;
    $this-&gt;secret = $secret;
    $this-&gt;url = $url;
    $this-&gt;version = $version;
    $this-&gt;curl = curl_init();

    curl_setopt_array($this-&gt;curl, array(
    CURLOPT_SSL_VERIFYPEER =&gt; $sslverify,
    CURLOPT_SSL_VERIFYHOST =&gt; 2,
    CURLOPT_USERAGENT =&gt; &#039;Kraken PHP API Agent&#039;,
    CURLOPT_POST =&gt; true,
    CURLOPT_RETURNTRANSFER =&gt; true)
    );
    }

    function __destruct()
    {
    curl_close($this-&gt;curl);
    }

    /**
    *查询公共方法
    *
    * @param string $method method name
    * @param array $request request parameters
    * @return array request result on success
    * @throws KrakenAPIException
    */
    函数 QueryPublic($method, array $request = array())
    {
    ////构建POST数据字符串
    $postdata = http_build_query($request, &#039;&#039;, &#039;&amp;&#039;);

    //提出要求
    curl_setopt($this-&gt;curl,CURLOPT_URL,$this-&gt;url. &#039;/&#039; . $this-&gt;version . &#039;/public/&#039; .
    $method);
    curl_setopt($this-&gt;curl, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($this-&gt;curl, CURLOPT_HTTPHEADER, array());
    $result = curl_exec($this-&gt;curl);
    if($result===false)
    throw new KrakenAPIException(&#039;CURL error: &#039; . curl_error($this-&gt;curl));

    //解码结果
    $result = json_decode($result, true);
    if(!is_array($result))
    throw new KrakenAPIException(&#039;JSON decode error&#039;);

    return $result;
    }

    /**
    *查询私有方法
    *
    * @param string $path method path
    * @param array $request request parameters
    * @return array request result on success
    * @throws KrakenAPIException
    */
    函数 QueryPrivate($method, array $request = array())
    {
    if(!isset($request[&#039;nonce&#039;])) {
    // generate a 64 bit nonce using a timestamp at microsecond resolution
    // string functions are used to avoid problems on 32 bit systems
    $nonce = explode(&#039; &#039;, microtime());
    $request[&#039;nonce&#039;] = $nonce[1] . str_pad(substr($nonce[0], 2, 6), 6, &#039;0&#039;);}
    }

    //构建POST数据字符串
    $postdata = http_build_query($request, &#039;&#039;, &#039;&amp;&#039;);

    //设置API密钥并签署信息
    $path = &#039;/&#039; . $this-&gt;version . &#039;/private/&#039; . $method;
    $sign = hash_hmac(&#039;sha512&#039;, $path . hash(&#039;sha256&#039;, $request[&#039;nonce&#039;] . $postdata, true), base64_decode($this-&gt;secret), true);
    $headers = array(
    &#039;API-Key: &#039; . $this-&gt;key,
    &#039;API-Sign: &#039; . base64_encode($sign));
    );

    // 提出要求
    curl_setopt($this-&gt;curl, CURLOPT_URL, $this-&gt;url . $path);
    curl_setopt($this-&gt;curl, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($this-&gt;curl, CURLOPT_HTTPHEADER, $headers);
    $result = curl_exec($this-&gt;curl);
    if($result===false)
    throw new KrakenAPIException(&#039;CURL error: &#039; . curl_error($this-&gt;curl));

    //解码结果
    $result = json_decode($result, true);
    if(!is_array($result))
    throw new KrakenAPIException(&#039;JSON decode error&#039;);

    return $result;
    }
    } </pre>

    									<h5 id=“example-api-code-php-usage”>示例用法</h5>
    									<p>以下是初始化KrakenAPI库类所涉及的步骤，以及一些示例API方法调用。格式化的结果集显示在每个相应的API调用代码段下方。</p>
    									<h6>初始化</h6>
    									<p>包含库文件，并在实例化KrakenAPI对象时提供API密钥和密码。</p>

    									<pre>&lt;?php

    一旦_请求'KrakenAPI客户.php';
    $ kraken = new KrakenAPI（'你的API密钥'，'你的API秘密'）;
    </pre>

    									<h6>方法呼叫</h6>
    									<p>查询活动资产及其属性的公开列表：</p>
    									<pre>$res =$kraken-＆gt;公开询问（'资产'）;
    的print_r（$res）;
    </pre>
    									<p>返回的资产由其ISO-4217-A3-X名称键控，示例输出：</p>
    									<pre>序列

    [错误] =＆gt;序列
    (
    (
    )

    [结果] =＆gt;序列
    （
    [XXBT] =＆gt;序列
    （
    [分类] =＆gt;货币
    [替换名称] =＆gt;XBT
    [小数] =＆gt;10
    [显示_小数] =＆gt;5
    ）

    [XLTC] =＆gt;序列
    （
    [分类] =＆gt;货币
    [替换名称] =＆gt;LTC
    [小数] =＆gt;10
    [显示_小数] =＆gt;5
    ）

    [XXRP] =＆gt;序列
    （
    [分类] =＆gt;货币
    [替换名称] =＆gt;XRP
    [小数] =＆gt;8
    [显示_小数] =＆gt;5
    ）

    [ZEUR] =＆gt;序列
    （
    [分类] =＆gt;货币
    [替换名称] =＆gt;EUR
    [小数] =＆gt;4
    [显示_小数] =＆gt;2
    ）
    ...
    ）
    </pre>
    									<p>查询XBT/USD货币对的公开股票信息：</p>
    									<pre>$res=$kraken-＆gt;公开查询（'工单'，序列（'对'=＆gt;'XXBTZUSD'））;
    的print_r（$res）;
    </pre>
    									<p>示例输出：</p>
    									<pre>
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [XXBTZUSD] =＆gt;序列
    （
    [a] =＆gt;序列
    （
    [0] =＆gt; 106.09583
    [1] =＆gt; 111
    ）

    [b] =＆gt;序列
    （
    [0] =＆gt; 105.53966
    [1] =＆gt; 4
    ）

    [c] =＆gt;序列
    （
    [0] =＆gt; 105.98984
    [1] =＆gt; 0.13910102
    ）

    ...
    ）
    ）
    </pre>

    									<p>自2013-08-07T18：20：42 + 00:00起查询XBT/EUR货币对的公开近期交易：</p>
    									<p><strong>注意：</strong>'since'参数将来可能会发生变化：它的精度可能会被修改，并且可能不再代表时间戳。最佳做法是将其基于结果集中返回的“最新”值。</p>
    									<pre>$res=$kraken-＆gt;公开查询（'交易'，序列（'对'=＆gt;'XXBTZEUR'，'since'=＆gt;'137589964200000000'））;
    的print_r（$res）;
    </pre>

    									<p>示例输出：</p>
    									<PRE>序列
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [XXBTZEUR] =＆gt;序列
    （
    [0] =＆gt;序列
    （
    [0] =＆gt; 78.60500
    [1] =＆gt; 2.03990000
    [2] =＆gt; 1375897934.1176
    [3] =＆gt; s
    [4] =＆gt; m
    [5] =＆gt;
    ）

    [1] =＆gt;序列
    （
    [0] =＆gt; 79.41809
    [1] =＆gt; 2.02203000
    [2] =＆gt; 1375898123.0771
    [3] =＆gt; b
    [4] =＆gt; m
    [5] =＆gt;
    ）

    [2] =＆gt; 序列
    （
    [0] =＆gt; 79.86999
    [1] =＆gt; 7.00000000
    [2] =＆gt; 1375898123.2587
    [3] =＆gt; b
    [4] =＆gt; m
    [5] =＆gt;
    ）
    ...
    ）
    [last] =＆gt; 137589925237491170
    ）
    ）
    </pre>

    									<p>查询私人资产余额：</p>
    									<pre>$res=$kraken-＆gt;私人询问（'余额'）;
    print_r（$res）;
    </pre>

    									<p>示例输出：</p>
    									<PRE>序列
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [ZUSD] =＆gt; 3415.8014
    [ZEUR] =＆gt; 155.5649
    [XXBT] =＆gt; 149.9688412800
    [XXRP] =＆gt; 499889.51600000
    ）

    ）
    </pre>

    									<p>查询私人未结订单并包含相关交易：</p>
    									<pre>$res =$kraken-＆gt; 私人询问（'未结订单'，序列（'交易'=＆gt;真））;
    print_r（$res）;
    </pre>

    									<p>示例输出：</p>
    									<pre>序列
    （
    [错误] =＆gt; 序列
    （
    ）

    [结果] =＆gt; 序列
    （
    [开设] =＆gt; 序列
    （
    [O7ICPO-F4CLJ-MVBLHC] =＆gt;序列
    （
    [refid] =＆gt;
    [userref] =＆gt;
    [状态] =＆gt; 开设
    [开设tm] =＆gt; 1373750306.9819
    [开始tm] =＆gt; 0
    [到期tm] =＆gt; 0
    [descr] =＆gt; 序列
    （
    [订单] =＆gt;卖出3.00000000 XBTUSD@限价500.00000
    ）

    [交易量] =＆gt; 3.00000000
    [执行_交易量] =＆gt; 0.00000000
    [费用] =＆gt; 0.00000
    [费用] =＆gt; 0.00000
    [价格] =＆gt; 0.00000
    [misc] =＆gt;
    [oflags] =＆gt;
    ）
    ...
    ）
    ）
    ）
    </pre>

    									<p>添加标准订单：卖出1.123 XBT/USD @限价$120 </p>
    									<pre>$res=$kraken-＆gt; 私人询问（'添加订单'，序列（
    '对'=＆gt; 'XXBTZUSD'，
    '类型'=＆gt; '卖'，
    '订单类型'=＆gt; '限制'，
    '价格'=＆gt; '120'，
    '交易量'=＆gt; '1.123'
    ））;
    print_r（$res）;
    </pre>

    									<p>示例输出：</p>
    									<PRE>序列
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [描述] =＆gt;序列
    （
    [订单] =＆gt;卖出1.12300000 XBTUSD@限价120.00000
    ）

    [txid] =＆gt;序列
    （
    [0] =＆gt; OAVY7T-MV5VK-KHDF5X
    ）

    ）

    ）
    </pre>

    									<p>添加标准订单：2013-08-12T09：27：22 + 0000在市场上购买价值300欧元的XBT </p>
    									<pre>$res=$kraken-＆gt; 私人询问（'添加订单'，序列（
    '对'=＆gt; 'XXBTZEUR'，
    '类型'=＆gt; '购买'，
    '订单类型'=＆gt; '市场'，
    'oflags'=＆gt; 'viqc'，
    '交易量'=＆gt; '300'，
    '开始tm'=＆gt; '1376299642'
    ））;
    print_r（$res）;
    </pre>

    									<p>示例输出：</p>
    									<pre>序列
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [descr] =＆gt;序列
    （
    [订单] =＆gt;买入300.00000000 XBTEUR@市价
    ）

    [txid] =＆gt;序列
    （
    [0] =＆gt; ONQN65-L2GNR-HWJLF5
    ）

    ）

    ）
    </pre>

    									<p>添加标准订单：以2：1杠杆购买2.12345678 XBTUSD @限价$ 101.9901，
    										跟进止损，止盈卖单：止损-5％，止盈
    										+ 10美元的价格上涨（使用＃符号自动确定签署的止损/亏损价格）：
    										<pre>$res=$kraken-＆gt;私人询问（'添加订单'，序列（
    '对'=＆gt; 'XXBTZUSD'，
    '额理性'=＆gt; '购买'，
    '订单类型'=＆gt; '限价'，
    '价格'=＆gt; '101.9901'，
    '交易量'=＆gt; '2.12345678'，
    '杠杆'=＆gt; '2：1'，
    '关闭'=＆gt;序列（
    '订单类型'=＆gt; “止损追求利润”，
    '价格'=＆gt; '＃5％'，//止损价格（相对百分比增量）
    '价格2'=＆gt; '＃10'//获利价格（相对差价）
    ）
    ））;
    print_r（$res）;
    </pre>

    										<p>示例输出：</p>
    										<pre>序列
    （
    [错误] =＆gt;序列
    （
    ）

    [结果] =＆gt;序列
    （
    [descr] =＆gt;序列
    （
    [订单] =＆gt;以2：1的比例购买2.12345678 XBTUSD @限价101.99010
    [关闭] =＆gt;收盘位置@止损-5.0000％，止盈+10.00000
    ）

    [txid] =＆gt;序列
    )

    )

    )
    </pre>

    							</div>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>


    		<div class="white-bg">
    			<div class="container">
    				<div class="row vmarg-top-100">
    				</div>
    			</div>
    		</div>

    		<div id="react-container-footer"></div>
    		<div id="bottom">
    			<div class="container">
    				<div class="row">
    					<div class="col-sm-12">
    					</div>
    				</div>
    			</div>
    		</div> -->
    <Footer></Footer>
  </div>
</template>

<script>
  import Header from "@/components/header";
  import Footer from "@/components/footer";
  import commonMixins from "@/mixins";

  export default {
      mixins: [commonMixins],
      components: {
          Header,
          Footer
      },
      computed: {
        isLogin() {
          return this.$store.state.usertoken ? true : false;
        }
      },
      watch:{
      },
      data () {
          return {
          }
      },
      created(){
      },
      mounted(){
      },
      methods:{
        next_fn() {
          if(this.isLogin) {
            this.$router.push('trade');
          } else {
            this.$router.push('login');
          }
        },
      }
  }
</script>

<style lang="less" scoped="scoped">
.api {
  padding-top: 100px;
}
</style>
